package org.study.ioc.bean;

import java.util.List;

/**
 *
 *
 * @Author: Hukai
 * @Date: 2021/06/02/18:05
 * @Description: 核心数据结构，用来描述bean,并且我们的ioc框架中，管理的对象
 *包含了对象的name、class的名称，如果是一个接口的实现，那么还需要包含实现的接口
 * 传参的列表 constructorArgs 和需要注入的参数列表 `propertyArgs。
 */
public class BeanDefinition {
    //对象的名称
    private String name;
    //对象的类路径名称
    private String className;
    //实现了那些接口
    private String[] interfaceName;
    //传参的列表
    private List<ConstructorArg> constructorArgs;
    //需要注入的参数列表
    private List<PropertyArg> propertyArgs;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String[] getInterfaceName() {
        return interfaceName;
    }

    public void setInterfaceName(String[] interfaceName) {
        this.interfaceName = interfaceName;
    }

    public List<ConstructorArg> getConstructorArgs() {
        return constructorArgs;
    }

    public void setConstructorArgs(List<ConstructorArg> constructorArgs) {
        this.constructorArgs = constructorArgs;
    }

    public List<PropertyArg> getPropertyArgs() {
        return propertyArgs;
    }

    public void setPropertyArgs(List<PropertyArg> propertyArgs) {
        this.propertyArgs = propertyArgs;
    }
}
